package com.tedu.day02.test;

/**
 *   普通类  抽象类  接口类
 *                  【关系】       【特点】
 *   类与类           继承         只能单继承，可多层继承
 *   类与抽象类        继承         可以单继承，不可以多继承
 *   抽象类与抽象类     继承         只能单继承，可多层继承
 *   类与接口          实现         可以单继承，也可以多实现
 *                                并且继承同时实现多个接口
 *   接口与接口        继承         可以单继承，可以多继承
 */
/*作业1：抽象类与接口区别和关系？简答*/
/*区别：①抽象类存在构造器，接口没有构造器
    ②抽象的关键字abstract，接口关键字interface
    ③类只能继承一个抽象类，但是可以同时实现多个接口，接口支持多继承，抽象类不能实现多继承
    ④抽象类可以定义成员变量和常量，接口只能定义抽象方法，抽象类可以定义抽象方法和静态方法
    ⑤抽象类中的方法可以是任意访问修饰符，接口中的方法默认使用public修饰
    ⑥接口允许多层继承，一个类可以实现多个接口，抽象类只允许单继承，一个类只能继承一个抽象类
 关系：抽象类和接口都不能被实例化，不能直接创建对象
 抽象类实例化方式：继承extends---子类---调方法【造型】
 接口类实例化方式：实现implements---实现类---调方法【造型】
 */

//5.接口与接口：继承--可以单继承，可以多继承
    interface Loo{}    interface Foo{}
    interface Voo extends Loo,Foo{}



//4.类与接口：实现---可以单继承，也可以多实现
    //interface Loo{}      interface Foo{}
   // class Joo{}
   // class Voo extends Joo implements Loo,Foo{}




//3.抽象类和抽象类：继承--只能单继承，可多层继承
  //  abstract class Loo{}
   // abstract class Voo extends Loo{}
    //abstract class Uoo extends Voo{}




//2.类与抽象类：继承--可以单继承。不可以多继承
   // abstract class Uoo{}  abstract class Voo{}
   // class Loo extends Uoo,Voo{}







//1.类与类：继承---单继承
/*class Uoo{}
class Loo extends Uoo{}
class Voo extends Loo{}*/


public class 关系 {
}
